A computer system has a finite amount of memory, which is often shared between a set of competing components that each consume part of the finite amount of memory. During the course of operation of the system, the memory usage of each component may fluctuate, with some components using increasing amounts of memory. There is a danger that, left uncontrolled, the total memory usage of the components will approach the limit of the finite amount of memory, to a point where one or more components can no longer function effectively because no more memory is available to be consumed.